package com.hruiworks.campusgroup.dao.mapper;

import com.hruiworks.campusgroup.pojo.entity.Group;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @author jiushui
 * @description 针对表【group(团队表)】的数据库操作Mapper
 * @createDate 2025-03-07 09:28:24
 * @Entity com.hruiworks.campusgroup.pojo.entity.Group
 */
@Mapper
public interface GroupMapper extends BaseMapper<Group> {

    /**
     * user自己参加的活动
     *
     * @param size    单页大小
     * @param current 当前页，注意其实索引的转换[起始索引=(查询页码-1) * 每页显示记录数]
     * @param created 1表示全部数据，2表示用户创建的，3表示用户加入的
     * @param time    1表示全部数据，2表示待开始，3表示进行中，4表示已结束
     * @param userId  当前的用户id
     * @return Group信息
     */
    List<Group> userSelfGroupPage(Long size, Long current, Integer created, Integer time, Long userId);

    /**
     * user自己参加的活动
     * @param userId  当前的用户id
     * @return Group信息
     */
    List<Group> userSelfGroupAll(Long userId);

    /**
     * user自己参加的活动总数据，配合分页使用
     *
     * @param created 1表示全部数据，2表示用户创建的，3表示用户加入的
     * @param time    1表示全部数据，2表示待开始，3表示进行中，4表示已结束
     * @param userId  当前的用户id
     * @return 总数据
     */
    Long userSelfGroupAllCount(Integer created, Integer time, Long userId);

}




